package com.css.zfzx.fwsjcj.modules.structure.entity;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * @author leon
 * @Title:
 * @Description: 多层钢筋混凝土结构
 * @date 2020/6/2 15:15
 */
@Entity
@Table(name = "fw_mul_concrete_structure", schema = "fwsjcj", catalog = "")
public class FwMulConcreteStructureEntity {
    private String id;
    /**
     * 多层钢筋混凝土编号
     */
    private String mulConcreteStructureNum;
    /**
     * 所属省
     */
    private String belongtoProvince;
    /**
     * 所属市
     */
    private String belongtoCity;
    /**
     * 所属区县
     */
    private String belongtoArea;
    /**
     * 所属街道
     */
    private String belongtoStreet;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 纬度
     */
    private String latitude;
    /**
     * 所属居委会
     */
    private String belongtoTown;
    /**
     * 建筑名称
     */
    private String buildingName;
    /**
     * 建造年代（70s以前,70s,80s,90s,00s,10s）
     */
    private String buildingAge;

    private String structureType;
    /**
     * 场地类型(I类、II类、III类、IV类)
     */
    private String siteType;
    /**
     * 基础类型(满堂红、条形基础、砖基础、毛石片石卵石、其他)
     */
    private String baseType;
    /**
     * 设防标准(0（不设防）、6（VI度设防）、7（VII度设防）、8（VIII度设防）、9（IX度设防）)
     */
    private String fortifyStandard;
    /**
     * 自振周期（保留2位小数，单位：秒）
     */
    private Double naturalVibrationPeriod;
    /**
     *规则程度(1（平立面均规则）、2（平面规则立面不规则）3（平面不规则立面规则）、4（平面立面均不规则）)
     */
    private String regularLevel;
    /**
     * 建筑面积
     */
    private Double buildingArea;
    /**
     * 建筑长度
     */
    private Double buildingLength;
    /**
     * 建筑宽度
     */
    private Double buildingWidth;
    /**
     * 层数
     */
    private Integer floorNum;
    /**
     * 建筑高度
     */
    private Double buildingHeight;
    /**
     *柱混凝土强度等级
     */
    private String zhntqdLevel;
    /**
     * 主要柱截面尺寸
     */
    private String zyzjmSize;
    /**
     * 主要梁截面尺寸
     */
    private String zyljmSize;
    /**
     * 最大柱间距
     */
    private Double zdzSpan;
    /**
     * 最大梁跨度
     */
    private Double zdlkd;
    /**
     * 剪力墙最大间距
     */
    private Double jlqzdSpan;
    /**
     * 剪力墙混凝土强度等级 厚度
     */
    private String jlqhntqdLevel;
    /**
     * 剪力墙尺寸
     */
    private String jlqSize;
    /**
     * 屋盖类别（木屋盖、现浇屋盖、预制板、彩钢板、其他）
     */
    private String roofType;
    /**
     * 楼盖类别（木楼板、现浇楼板、预制板、其他）
     */
    private String floorType;
    /**
     * 填充墙体材质(普通砖、多孔砖、砌块、其他)
     */
    private String fillWallMaterial;
    /**
     * 填充墙砂浆类型(水泥砂浆、混合砂浆、泥浆)
     */
    private String tcqsjType;
    /**
     * 填充墙砂浆强度(大于等于M2.5、小于M2.5)
     */
    private String tcqsjStrength;
    /**
     * 墙体厚度
     */
    private Double wallThick;
    /**
     * 框架形式
     */
    private String frameStyle;
    /**
     * 出屋面构件0（无）、1（女儿墙）、2（烟囱）、3（无构造柱楼梯间）、4（其他）
     */
    private String cwmgj;
    /**
     * 女儿墙设置(女儿墙无拉结、女儿墙有拉结)
     */
    private String parapetInstall;
    /**
     * 女儿墙高度(大于500mm，小于等于500mm)
     */
    private String parapetHeight;
    /**
     * 填充墙与柱
     */
    private String tcjyj;
    /**
     * 楼梯间布置
     */
    private String ltjbz;
    /**
     * 梁柱现状
     */
    private String lzSituation;
    /**
     * 填充墙现状(无明显裂缝、有明显裂缝、多处明显裂缝)
     */
    private String tcqSituation;
    /**
     * 基础现状(无不均匀沉陷,有不均匀沉陷)
     */
    private String baseSituation;
    /**
     * 建筑造价/重置单价建筑造价/重置单价
     */
    private Double buildingCost;
    /**
     * 建筑照片
     */
    private String buildingPhoto;
    /**
     * 信息说明
     */
    private String msgIllustrate;
    /**
     * 详细文档(收集建筑物图纸等详细设计资料并汇总成压缩文件)
     */
    private String detailFile;
    /**
     * 审核状态
     */
    private String status;
    /**
     * 审核人
     */
    private String checkUser;
    /**
     * 审核意见
     */
    private String checkOpinion;
    private String createUser;
    /**
     * 数据采集人
     */
    private String collectUser;
    private Date createTime;
    private String updateUser;
    private Date updateTime;
    private String delFlag;
    /**
     * 任务ID
     */
    private String taskId;
    /**
     * 任务名称
     */
    private String taskName;
    /**
     * 剪力墙厚度
     */
    private Double shearwellThickness;
    /**
     * 填充墙厚度
     */
    private Double fillWallThickness;

    /**
     * 超级管理员退回意见
     * @return
     */
    private String superBackOpinion;
    /**
     * 省级退回意见
     * @return
     */
    private String provinceBackOpinion;
    @Basic
    @Column(name = "super_back_opinion")
    public String getSuperBackOpinion() {
        return superBackOpinion;
    }

    public void setSuperBackOpinion(String superBackOpinion) {
        this.superBackOpinion = superBackOpinion;
    }

    @Basic
    @Column(name = "province_back_opinion")
    public String getProvinceBackOpinion() {
        return provinceBackOpinion;
    }

    public void setProvinceBackOpinion(String provinceBackOpinion) {
        this.provinceBackOpinion = provinceBackOpinion;
    }

    @Id
    @Column(name = "id")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "mul_concrete_structure_num")
    public String getMulConcreteStructureNum() {
        return mulConcreteStructureNum;
    }

    public void setMulConcreteStructureNum(String mulConcreteStructureNum) {
        this.mulConcreteStructureNum = mulConcreteStructureNum;
    }

    @Basic
    @Column(name = "belongto_province")
    public String getBelongtoProvince() {
        return belongtoProvince;
    }

    public void setBelongtoProvince(String belongtoProvince) {
        this.belongtoProvince = belongtoProvince;
    }

    @Basic
    @Column(name = "belongto_city")
    public String getBelongtoCity() {
        return belongtoCity;
    }

    public void setBelongtoCity(String belongtoCity) {
        this.belongtoCity = belongtoCity;
    }

    @Basic
    @Column(name = "belongto_area")
    public String getBelongtoArea() {
        return belongtoArea;
    }

    public void setBelongtoArea(String belongtoArea) {
        this.belongtoArea = belongtoArea;
    }

    @Basic
    @Column(name = "belongto_street")
    public String getBelongtoStreet() {
        return belongtoStreet;
    }

    public void setBelongtoStreet(String belongtoStreet) {
        this.belongtoStreet = belongtoStreet;
    }

    @Basic
    @Column(name = "longitude")
    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    @Basic
    @Column(name = "latitude")
    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    @Basic
    @Column(name = "belongto_town")
    public String getBelongtoTown() {
        return belongtoTown;
    }

    public void setBelongtoTown(String belongtoTown) {
        this.belongtoTown = belongtoTown;
    }

    @Basic
    @Column(name = "building_name")
    public String getBuildingName() {
        return buildingName;
    }

    public void setBuildingName(String buildingName) {
        this.buildingName = buildingName;
    }

    @Basic
    @Column(name = "building_age")
    public String getBuildingAge() {
        return buildingAge;
    }

    public void setBuildingAge(String buildingAge) {
        this.buildingAge = buildingAge;
    }

    @Basic
    @Column(name = "structure_type")
    public String getStructureType() {
        return structureType;
    }

    public void setStructureType(String structureType) {
        this.structureType = structureType;
    }

    @Basic
    @Column(name = "site_type")
    public String getSiteType() {
        return siteType;
    }

    public void setSiteType(String siteType) {
        this.siteType = siteType;
    }

    @Basic
    @Column(name = "base_type")
    public String getBaseType() {
        return baseType;
    }

    public void setBaseType(String baseType) {
        this.baseType = baseType;
    }

    @Basic
    @Column(name = "fortify_standard")
    public String getFortifyStandard() {
        return fortifyStandard;
    }

    public void setFortifyStandard(String fortifyStandard) {
        this.fortifyStandard = fortifyStandard;
    }

    @Basic
    @Column(name = "natural_vibration_period")
    public Double getNaturalVibrationPeriod() {
        return naturalVibrationPeriod;
    }

    public void setNaturalVibrationPeriod(Double naturalVibrationPeriod) {
        this.naturalVibrationPeriod = naturalVibrationPeriod;
    }

    @Basic
    @Column(name = "regular_level")
    public String getRegularLevel() {
        return regularLevel;
    }

    public void setRegularLevel(String regularLevel) {
        this.regularLevel = regularLevel;
    }

    @Basic
    @Column(name = "building_area")
    public Double getBuildingArea() {
        return buildingArea;
    }

    public void setBuildingArea(Double buildingArea) {
        this.buildingArea = buildingArea;
    }

    @Basic
    @Column(name = "building_length")
    public Double getBuildingLength() {
        return buildingLength;
    }

    public void setBuildingLength(Double buildingLength) {
        this.buildingLength = buildingLength;
    }

    @Basic
    @Column(name = "building_width")
    public Double getBuildingWidth() {
        return buildingWidth;
    }

    public void setBuildingWidth(Double buildingWidth) {
        this.buildingWidth = buildingWidth;
    }

    @Basic
    @Column(name = "floor_num")
    public Integer getFloorNum() {
        return floorNum;
    }

    public void setFloorNum(Integer floorNum) {
        this.floorNum = floorNum;
    }

    @Basic
    @Column(name = "building_height")
    public Double getBuildingHeight() {
        return buildingHeight;
    }

    public void setBuildingHeight(Double buildingHeight) {
        this.buildingHeight = buildingHeight;
    }

    @Basic
    @Column(name = "zhntqd_level")
    public String getZhntqdLevel() {
        return zhntqdLevel;
    }

    public void setZhntqdLevel(String zhntqdLevel) {
        this.zhntqdLevel = zhntqdLevel;
    }

    @Basic
    @Column(name = "zyzjm_size")
    public String getZyzjmSize() {
        return zyzjmSize;
    }

    public void setZyzjmSize(String zyzjmSize) {
        this.zyzjmSize = zyzjmSize;
    }

    @Basic
    @Column(name = "zyljm_size")
    public String getZyljmSize() {
        return zyljmSize;
    }

    public void setZyljmSize(String zyljmSize) {
        this.zyljmSize = zyljmSize;
    }

    @Basic
    @Column(name = "zdz_span")
    public Double getZdzSpan() {
        return zdzSpan;
    }

    public void setZdzSpan(Double zdzSpan) {
        this.zdzSpan = zdzSpan;
    }

    @Basic
    @Column(name = "zdlkd")
    public Double getZdlkd() {
        return zdlkd;
    }

    public void setZdlkd(Double zdlkd) {
        this.zdlkd = zdlkd;
    }

    @Basic
    @Column(name = "jlqzd_span")
    public Double getJlqzdSpan() {
        return jlqzdSpan;
    }

    public void setJlqzdSpan(Double jlqzdSpan) {
        this.jlqzdSpan = jlqzdSpan;
    }

    @Basic
    @Column(name = "jlqhntqd_level")
    public String getJlqhntqdLevel() {
        return jlqhntqdLevel;
    }

    public void setJlqhntqdLevel(String jlqhntqdLevel) {
        this.jlqhntqdLevel = jlqhntqdLevel;
    }

    @Basic
    @Column(name = "jlq_size")
    public String getJlqSize() {
        return jlqSize;
    }

    public void setJlqSize(String jlqSize) {
        this.jlqSize = jlqSize;
    }

    @Basic
    @Column(name = "roof_type")
    public String getRoofType() {
        return roofType;
    }

    public void setRoofType(String roofType) {
        this.roofType = roofType;
    }

    @Basic
    @Column(name = "floor_type")
    public String getFloorType() {
        return floorType;
    }

    public void setFloorType(String floorType) {
        this.floorType = floorType;
    }

    @Basic
    @Column(name = "fill_wall_material")
    public String getFillWallMaterial() {
        return fillWallMaterial;
    }

    public void setFillWallMaterial(String fillWallMaterial) {
        this.fillWallMaterial = fillWallMaterial;
    }

    @Basic
    @Column(name = "tcqsj_type")
    public String getTcqsjType() {
        return tcqsjType;
    }

    public void setTcqsjType(String tcqsjType) {
        this.tcqsjType = tcqsjType;
    }

    @Basic
    @Column(name = "tcqsj_strength")
    public String getTcqsjStrength() {
        return tcqsjStrength;
    }

    public void setTcqsjStrength(String tcqsjStrength) {
        this.tcqsjStrength = tcqsjStrength;
    }

    @Basic
    @Column(name = "wall_thick")
    public Double getWallThick() {
        return wallThick;
    }

    public void setWallThick(Double wallThick) {
        this.wallThick = wallThick;
    }

    @Basic
    @Column(name = "frame_style")
    public String getFrameStyle() {
        return frameStyle;
    }

    public void setFrameStyle(String frameStyle) {
        this.frameStyle = frameStyle;
    }

    @Basic
    @Column(name = "cwmgj")
    public String getCwmgj() {
        return cwmgj;
    }

    public void setCwmgj(String cwmgj) {
        this.cwmgj = cwmgj;
    }

    @Basic
    @Column(name = "parapet_install")
    public String getParapetInstall() {
        return parapetInstall;
    }

    public void setParapetInstall(String parapetInstall) {
        this.parapetInstall = parapetInstall;
    }

    @Basic
    @Column(name = "parapet_height")
    public String getParapetHeight() {
        return parapetHeight;
    }

    public void setParapetHeight(String parapetHeight) {
        this.parapetHeight = parapetHeight;
    }

    @Basic
    @Column(name = "tcjyj")
    public String getTcjyj() {
        return tcjyj;
    }

    public void setTcjyj(String tcjyj) {
        this.tcjyj = tcjyj;
    }

    @Basic
    @Column(name = "ltjbz")
    public String getLtjbz() {
        return ltjbz;
    }

    public void setLtjbz(String ltjbz) {
        this.ltjbz = ltjbz;
    }

    @Basic
    @Column(name = "lz_situation")
    public String getLzSituation() {
        return lzSituation;
    }

    public void setLzSituation(String lzSituation) {
        this.lzSituation = lzSituation;
    }

    @Basic
    @Column(name = "tcq_situation")
    public String getTcqSituation() {
        return tcqSituation;
    }

    public void setTcqSituation(String tcqSituation) {
        this.tcqSituation = tcqSituation;
    }

    @Basic
    @Column(name = "base_situation")
    public String getBaseSituation() {
        return baseSituation;
    }

    public void setBaseSituation(String baseSituation) {
        this.baseSituation = baseSituation;
    }

    @Basic
    @Column(name = "building_cost")
    public Double getBuildingCost() {
        return buildingCost;
    }

    public void setBuildingCost(Double buildingCost) {
        this.buildingCost = buildingCost;
    }

    @Basic
    @Column(name = "building_photo")
    public String getBuildingPhoto() {
        return buildingPhoto;
    }

    public void setBuildingPhoto(String buildingPhoto) {
        this.buildingPhoto = buildingPhoto;
    }

    @Basic
    @Column(name = "msg_illustrate")
    public String getMsgIllustrate() {
        return msgIllustrate;
    }

    public void setMsgIllustrate(String msgIllustrate) {
        this.msgIllustrate = msgIllustrate;
    }

    @Basic
    @Column(name = "detail_file")
    public String getDetailFile() {
        return detailFile;
    }

    public void setDetailFile(String detailFile) {
        this.detailFile = detailFile;
    }

    @Basic
    @Column(name = "status")
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Basic
    @Column(name = "check_user")
    public String getCheckUser() {
        return checkUser;
    }

    public void setCheckUser(String checkUser) {
        this.checkUser = checkUser;
    }

    @Basic
    @Column(name = "check_opinion")
    public String getCheckOpinion() {
        return checkOpinion;
    }

    public void setCheckOpinion(String checkOpinion) {
        this.checkOpinion = checkOpinion;
    }

    @Basic
    @Column(name = "create_user")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "collect_user")
    public String getCollectUser() {
        return collectUser;
    }

    public void setCollectUser(String collectUser) {
        this.collectUser = collectUser;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "update_user")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "update_time")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "del_flag")
    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Basic
    @Column(name = "task_id")
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @Basic
    @Column(name = "task_name")
    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    @Basic
    @Column(name = "shearwell_thickness")
    public Double getShearwellThickness() {
        return shearwellThickness;
    }

    public void setShearwellThickness(Double shearwellThickness) {
        this.shearwellThickness = shearwellThickness;
    }

    @Basic
    @Column(name = "fill_wall_thickness")
    public Double getFillWallThickness() {
        return fillWallThickness;
    }

    public void setFillWallThickness(Double fillWallThickness) {
        this.fillWallThickness = fillWallThickness;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        FwMulConcreteStructureEntity that = (FwMulConcreteStructureEntity) o;
        return Objects.equals(id, that.id) &&
                Objects.equals(mulConcreteStructureNum, that.mulConcreteStructureNum) &&
                Objects.equals(belongtoProvince, that.belongtoProvince) &&
                Objects.equals(belongtoCity, that.belongtoCity) &&
                Objects.equals(belongtoArea, that.belongtoArea) &&
                Objects.equals(belongtoStreet, that.belongtoStreet) &&
                Objects.equals(belongtoTown, that.belongtoTown) &&
                Objects.equals(buildingName, that.buildingName) &&
                Objects.equals(buildingAge, that.buildingAge) &&
                Objects.equals(structureType, that.structureType) &&
                Objects.equals(siteType, that.siteType) &&
                Objects.equals(baseType, that.baseType) &&
                Objects.equals(fortifyStandard, that.fortifyStandard) &&
                Objects.equals(naturalVibrationPeriod, that.naturalVibrationPeriod) &&
                Objects.equals(regularLevel, that.regularLevel) &&
                Objects.equals(buildingArea, that.buildingArea) &&
                Objects.equals(buildingLength, that.buildingLength) &&
                Objects.equals(buildingWidth, that.buildingWidth) &&
                Objects.equals(floorNum, that.floorNum) &&
                Objects.equals(buildingHeight, that.buildingHeight) &&
                Objects.equals(zhntqdLevel, that.zhntqdLevel) &&
                Objects.equals(zyzjmSize, that.zyzjmSize) &&
                Objects.equals(zyljmSize, that.zyljmSize) &&
                Objects.equals(zdzSpan, that.zdzSpan) &&
                Objects.equals(zdlkd, that.zdlkd) &&
                Objects.equals(jlqzdSpan, that.jlqzdSpan) &&
                Objects.equals(jlqhntqdLevel, that.jlqhntqdLevel) &&
                Objects.equals(jlqSize, that.jlqSize) &&
                Objects.equals(roofType, that.roofType) &&
                Objects.equals(floorType, that.floorType) &&
                Objects.equals(fillWallMaterial, that.fillWallMaterial) &&
                Objects.equals(tcqsjType, that.tcqsjType) &&
                Objects.equals(tcqsjStrength, that.tcqsjStrength) &&
                Objects.equals(wallThick, that.wallThick) &&
                Objects.equals(frameStyle, that.frameStyle) &&
                Objects.equals(cwmgj, that.cwmgj) &&
                Objects.equals(parapetInstall, that.parapetInstall) &&
                Objects.equals(parapetHeight, that.parapetHeight) &&
                Objects.equals(tcjyj, that.tcjyj) &&
                Objects.equals(ltjbz, that.ltjbz) &&
                Objects.equals(lzSituation, that.lzSituation) &&
                Objects.equals(tcqSituation, that.tcqSituation) &&
                Objects.equals(baseSituation, that.baseSituation) &&
                Objects.equals(buildingCost, that.buildingCost) &&
                Objects.equals(buildingPhoto, that.buildingPhoto) &&
                Objects.equals(msgIllustrate, that.msgIllustrate) &&
                Objects.equals(detailFile, that.detailFile) &&
                Objects.equals(status, that.status) &&
                Objects.equals(checkUser, that.checkUser) &&
                Objects.equals(checkOpinion, that.checkOpinion) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(collectUser, that.collectUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(delFlag, that.delFlag) &&
                Objects.equals(taskId, that.taskId) &&
                Objects.equals(taskName, that.taskName) &&
                Objects.equals(shearwellThickness, that.shearwellThickness) &&
                Objects.equals(fillWallThickness, that.fillWallThickness);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, mulConcreteStructureNum, belongtoProvince, belongtoCity, belongtoArea, belongtoStreet, belongtoTown, buildingName, buildingAge, structureType, siteType, baseType, fortifyStandard, naturalVibrationPeriod, regularLevel, buildingArea, buildingLength, buildingWidth, floorNum, buildingHeight, zhntqdLevel, zyzjmSize, zyljmSize, zdzSpan, zdlkd, jlqzdSpan, jlqhntqdLevel, jlqSize, roofType, floorType, fillWallMaterial, tcqsjType, tcqsjStrength, wallThick, frameStyle, cwmgj, parapetInstall, parapetHeight, tcjyj, ltjbz, lzSituation, tcqSituation, baseSituation, buildingCost, buildingPhoto, msgIllustrate, detailFile, status, checkUser, checkOpinion, createUser, collectUser, createTime, updateUser, updateTime, delFlag, taskId, taskName, shearwellThickness, fillWallThickness);
    }
}
